/*
Copyright (C) 2011 Salil Bhagurkar

This file is part of illusion

illusion is free software: you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

illusion is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License
along with illusion.  If not, see <http://www.gnu.org/licenses/>.
*/

#include <kernel/module.h>
#include <apimod/apimod.h>
#include <kernel/errors.h>
#include <arch/power.h>
#include <klib/lib.h>


extern void code(), data(), bss(), end();

struct apimod_export apimod_export;
struct kernel_module apimod_module __attribute__((section(".text"))) = {
		.sign = KERNEL_MODULE_SIGN,
		.header = &apimod_module,
		.load = code,
		.entry = null,
		.data = data,
		.bss = bss,
		.end = end,
		.name = "apimod",
		.export = (void *)(&apimod_export),
};

extern int apimod_get_interface(char *name, void **interface);


struct apimod_export apimod_export = {
		.get_interface = apimod_get_interface,
};
